package com.shujia.day17;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/*
    JDBC编写六步走：
        1、注册驱动，告诉java程序我们要链接什么数据库
            【mysql为案例】
                5.1.x驱动包中的驱动类路径：【com.mysql.jdbc.Driver】
                8.x.x驱动包中的驱动类路径：【com.mysql.cj.jdbc.Driver】
        2、创建与数据库的链接对象
        3、创建操作数据库对象
        4、操作数据库对象调用方法执行sql语句，操作数据库
        5、如果第4步是查询操作的话，需要进一步分析查询结果
        6、释放资源，关闭与数据库的链接
 */
public class JDBCDemo1 {
    public static void main(String[] args) throws Exception {
        // 注册驱动，告诉java程序我们要链接什么数据库
        Class.forName("com.mysql.jdbc.Driver");

//        // 创建与数据库的链接对象
//        // public static Connection getConnection(String url,String user, String password)
//        /**
//         * url: 超链接
//         *  jdbc:mysql://192.168.233.129:3306/bigdata?characterEncoding=UTF-8&useUnicode=True
//         * username: root
//         * password: 123456
//         */
//        String url = "jdbc:mysql://192.168.233.101:3306/bigdata?characterEncoding=UTF-8&useUnicode=True&useSSL=false";
//        String username = "root";
//        String password = "123456";
//        Connection conn = DriverManager.getConnection(url, username, password);
//        System.out.println("成功获取与mysql数据库的链接对象：" + conn);
//
//        // 创建操作数据库对象
//        Statement state = conn.createStatement();
//
//        // 操作数据库对象调用方法执行sql语句，操作数据库
//        // SQL - 结构化查询语言 只要是结构化数据库，基本都可以使用sql语句【mysql是其中一种】
//        // 增删改，其它的操作
//        // 增加
////        int i = state.executeUpdate("insert into students values(1007,'李刚2',18,'男','文科一班')");
////        if(i==1){
////            System.out.println("插入数据成功！");
////        }else {
////            System.out.println("插入数据失败！");
////        }
//        // 删除
////        state.executeUpdate("delete from students where id=1007");
//        // 修改
////        state.executeUpdate("update students set name='江川' where id=1006");
//
//        // DQL 查询
//        ResultSet resultSet = state.executeQuery("select t1.location as location,count(1) as counts from (select location from jd_comment where productColor='墨玉青') t1 group by t1.location order by counts desc limit 10");
//
////        resultSet.next();
////        String location = resultSet.getString(1);
////        String counts = resultSet.getString(2);
////        System.out.println(location+": "+counts);
//
//        while (resultSet.next()){
//            //根据列索引获取元素，从左向右从1开始
////            String location = resultSet.getString(1);
////            String counts = resultSet.getString(2);
//
//            // 根据列名获取
//            String location = resultSet.getString("location");
//            String counts = resultSet.getString("counts");
//
//            System.out.println(location+": "+counts);
//        }
//
//        // 释放资源，关闭与数据库的链接
//        state.close();
//        conn.close();

    }
}
